// Copyright (c) 2016, SolidCP
// SolidCP is distributed under the Creative Commons Share-alike license
// 
// SolidCP is a fork of WebsitePanel:
// Copyright (c) 2015, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must  retain  the  above copyright notice, this
//   list of conditions and the following disclaimer.
//
// - Redistributions in binary form  must  reproduce the  above  copyright  notice,
//   this list of conditions  and  the  following  disclaimer in  the documentation
//   and/or other materials provided with the distribution.
//
// - Neither  the  name  of  the  Outercurve Foundation  nor   the   names  of  its
//   contributors may be used to endorse or  promote  products  derived  from  this
//   software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,  BUT  NOT  LIMITED TO, THE IMPLIED
// WARRANTIES  OF  MERCHANTABILITY   AND  FITNESS  FOR  A  PARTICULAR  PURPOSE  ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL,  SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO,  PROCUREMENT  OF  SUBSTITUTE  GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  HOWEVER  CAUSED AND ON
// ANY  THEORY  OF  LIABILITY,  WHETHER  IN  CONTRACT,  STRICT  LIABILITY,  OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE)  ARISING  IN  ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.5448
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// 
// This source code was auto-generated by wsdl, Version=2.0.50727.42.
// 
namespace SolidCP.Providers.HostedSolution
{
    using System.Xml.Serialization;
    using System.Web.Services;
    using System.ComponentModel;
    using System.Web.Services.Protocols;
    using System;
    using System.Diagnostics;
    using SolidCP.Providers.SharePoint;


    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name = "HostedSharePointServerSoap", Namespace = "http://smbsaas/solidcp/server/")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceProviderItem))]
    public partial class HostedSharePointServer : Microsoft.Web.Services3.WebServicesClientProtocol
    {

        public ServiceProviderSettingsSoapHeader ServiceProviderSettingsSoapHeaderValue;

        private System.Threading.SendOrPostCallback GetSupportedLanguagesOperationCompleted;

        private System.Threading.SendOrPostCallback GetSiteCollectionsOperationCompleted;

        private System.Threading.SendOrPostCallback GetSiteCollectionOperationCompleted;

        private System.Threading.SendOrPostCallback CreateSiteCollectionOperationCompleted;

        private System.Threading.SendOrPostCallback UpdateQuotasOperationCompleted;

        private System.Threading.SendOrPostCallback CalculateSiteCollectionsDiskSpaceOperationCompleted;

        private System.Threading.SendOrPostCallback DeleteSiteCollectionOperationCompleted;

        private System.Threading.SendOrPostCallback BackupSiteCollectionOperationCompleted;

        private System.Threading.SendOrPostCallback RestoreSiteCollectionOperationCompleted;

        private System.Threading.SendOrPostCallback GetTempFileBinaryChunkOperationCompleted;

        private System.Threading.SendOrPostCallback AppendTempFileBinaryChunkOperationCompleted;

        private System.Threading.SendOrPostCallback GetSiteCollectionSizeOperationCompleted;

        private System.Threading.SendOrPostCallback SetPeoplePickerOuOperationCompleted;

        /// <remarks/>
        public HostedSharePointServer()
        {
            this.Url = "http://localhost:9003/HostedSharePointServer.asmx";
        }

        /// <remarks/>
        public event GetSupportedLanguagesCompletedEventHandler GetSupportedLanguagesCompleted;

        /// <remarks/>
        public event GetSiteCollectionsCompletedEventHandler GetSiteCollectionsCompleted;

        /// <remarks/>
        public event GetSiteCollectionCompletedEventHandler GetSiteCollectionCompleted;

        /// <remarks/>
        public event CreateSiteCollectionCompletedEventHandler CreateSiteCollectionCompleted;

        /// <remarks/>
        public event UpdateQuotasCompletedEventHandler UpdateQuotasCompleted;

        /// <remarks/>
        public event CalculateSiteCollectionsDiskSpaceCompletedEventHandler CalculateSiteCollectionsDiskSpaceCompleted;

        /// <remarks/>
        public event DeleteSiteCollectionCompletedEventHandler DeleteSiteCollectionCompleted;

        /// <remarks/>
        public event BackupSiteCollectionCompletedEventHandler BackupSiteCollectionCompleted;

        /// <remarks/>
        public event RestoreSiteCollectionCompletedEventHandler RestoreSiteCollectionCompleted;

        /// <remarks/>
        public event GetTempFileBinaryChunkCompletedEventHandler GetTempFileBinaryChunkCompleted;

        /// <remarks/>
        public event AppendTempFileBinaryChunkCompletedEventHandler AppendTempFileBinaryChunkCompleted;

        /// <remarks/>
        public event GetSiteCollectionSizeCompletedEventHandler GetSiteCollectionSizeCompleted;

        /// <remarks/>
        public event SetPeoplePickerOuCompletedEventHandler SetPeoplePickerOuCompleted;

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetSupportedLanguages", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int[] GetSupportedLanguages()
        {
            object[] results = this.Invoke("GetSupportedLanguages", new object[0]);
            return ((int[])(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginGetSupportedLanguages(System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("GetSupportedLanguages", new object[0], callback, asyncState);
        }

        /// <remarks/>
        public int[] EndGetSupportedLanguages(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((int[])(results[0]));
        }

        /// <remarks/>
        public void GetSupportedLanguagesAsync()
        {
            this.GetSupportedLanguagesAsync(null);
        }

        /// <remarks/>
        public void GetSupportedLanguagesAsync(object userState)
        {
            if ((this.GetSupportedLanguagesOperationCompleted == null))
            {
                this.GetSupportedLanguagesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSupportedLanguagesOperationCompleted);
            }
            this.InvokeAsync("GetSupportedLanguages", new object[0], this.GetSupportedLanguagesOperationCompleted, userState);
        }

        private void OnGetSupportedLanguagesOperationCompleted(object arg)
        {
            if ((this.GetSupportedLanguagesCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetSupportedLanguagesCompleted(this, new GetSupportedLanguagesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetSiteCollections", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SharePointSiteCollection[] GetSiteCollections()
        {
            object[] results = this.Invoke("GetSiteCollections", new object[0]);
            return ((SharePointSiteCollection[])(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginGetSiteCollections(System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("GetSiteCollections", new object[0], callback, asyncState);
        }

        /// <remarks/>
        public SharePointSiteCollection[] EndGetSiteCollections(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((SharePointSiteCollection[])(results[0]));
        }

        /// <remarks/>
        public void GetSiteCollectionsAsync()
        {
            this.GetSiteCollectionsAsync(null);
        }

        /// <remarks/>
        public void GetSiteCollectionsAsync(object userState)
        {
            if ((this.GetSiteCollectionsOperationCompleted == null))
            {
                this.GetSiteCollectionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSiteCollectionsOperationCompleted);
            }
            this.InvokeAsync("GetSiteCollections", new object[0], this.GetSiteCollectionsOperationCompleted, userState);
        }

        private void OnGetSiteCollectionsOperationCompleted(object arg)
        {
            if ((this.GetSiteCollectionsCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetSiteCollectionsCompleted(this, new GetSiteCollectionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetSiteCollection", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SharePointSiteCollection GetSiteCollection(string url)
        {
            object[] results = this.Invoke("GetSiteCollection", new object[] {
                        url});
            return ((SharePointSiteCollection)(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginGetSiteCollection(string url, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("GetSiteCollection", new object[] {
                        url}, callback, asyncState);
        }

        /// <remarks/>
        public SharePointSiteCollection EndGetSiteCollection(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((SharePointSiteCollection)(results[0]));
        }

        /// <remarks/>
        public void GetSiteCollectionAsync(string url)
        {
            this.GetSiteCollectionAsync(url, null);
        }

        /// <remarks/>
        public void GetSiteCollectionAsync(string url, object userState)
        {
            if ((this.GetSiteCollectionOperationCompleted == null))
            {
                this.GetSiteCollectionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSiteCollectionOperationCompleted);
            }
            this.InvokeAsync("GetSiteCollection", new object[] {
                        url}, this.GetSiteCollectionOperationCompleted, userState);
        }

        private void OnGetSiteCollectionOperationCompleted(object arg)
        {
            if ((this.GetSiteCollectionCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetSiteCollectionCompleted(this, new GetSiteCollectionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/CreateSiteCollection", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void CreateSiteCollection(SharePointSiteCollection siteCollection)
        {
            this.Invoke("CreateSiteCollection", new object[] {
                        siteCollection});
        }

        /// <remarks/>
        public System.IAsyncResult BeginCreateSiteCollection(SharePointSiteCollection siteCollection, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("CreateSiteCollection", new object[] {
                        siteCollection}, callback, asyncState);
        }

        /// <remarks/>
        public void EndCreateSiteCollection(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void CreateSiteCollectionAsync(SharePointSiteCollection siteCollection)
        {
            this.CreateSiteCollectionAsync(siteCollection, null);
        }

        /// <remarks/>
        public void CreateSiteCollectionAsync(SharePointSiteCollection siteCollection, object userState)
        {
            if ((this.CreateSiteCollectionOperationCompleted == null))
            {
                this.CreateSiteCollectionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateSiteCollectionOperationCompleted);
            }
            this.InvokeAsync("CreateSiteCollection", new object[] {
                        siteCollection}, this.CreateSiteCollectionOperationCompleted, userState);
        }

        private void OnCreateSiteCollectionOperationCompleted(object arg)
        {
            if ((this.CreateSiteCollectionCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateSiteCollectionCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/UpdateQuotas", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void UpdateQuotas(string url, long maxSize, long warningSize)
        {
            this.Invoke("UpdateQuotas", new object[] {
                        url,
                        maxSize,
                        warningSize});
        }

        /// <remarks/>
        public System.IAsyncResult BeginUpdateQuotas(string url, long maxSize, long warningSize, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("UpdateQuotas", new object[] {
                        url,
                        maxSize,
                        warningSize}, callback, asyncState);
        }

        /// <remarks/>
        public void EndUpdateQuotas(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void UpdateQuotasAsync(string url, long maxSize, long warningSize)
        {
            this.UpdateQuotasAsync(url, maxSize, warningSize, null);
        }

        /// <remarks/>
        public void UpdateQuotasAsync(string url, long maxSize, long warningSize, object userState)
        {
            if ((this.UpdateQuotasOperationCompleted == null))
            {
                this.UpdateQuotasOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateQuotasOperationCompleted);
            }
            this.InvokeAsync("UpdateQuotas", new object[] {
                        url,
                        maxSize,
                        warningSize}, this.UpdateQuotasOperationCompleted, userState);
        }

        private void OnUpdateQuotasOperationCompleted(object arg)
        {
            if ((this.UpdateQuotasCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UpdateQuotasCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/CalculateSiteCollectionsDiskSpace", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SharePointSiteDiskSpace[] CalculateSiteCollectionsDiskSpace(string[] urls)
        {
            object[] results = this.Invoke("CalculateSiteCollectionsDiskSpace", new object[] {
                        urls});
            return ((SharePointSiteDiskSpace[])(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginCalculateSiteCollectionsDiskSpace(string[] urls, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("CalculateSiteCollectionsDiskSpace", new object[] {
                        urls}, callback, asyncState);
        }

        /// <remarks/>
        public SharePointSiteDiskSpace[] EndCalculateSiteCollectionsDiskSpace(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((SharePointSiteDiskSpace[])(results[0]));
        }

        /// <remarks/>
        public void CalculateSiteCollectionsDiskSpaceAsync(string[] urls)
        {
            this.CalculateSiteCollectionsDiskSpaceAsync(urls, null);
        }

        /// <remarks/>
        public void CalculateSiteCollectionsDiskSpaceAsync(string[] urls, object userState)
        {
            if ((this.CalculateSiteCollectionsDiskSpaceOperationCompleted == null))
            {
                this.CalculateSiteCollectionsDiskSpaceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCalculateSiteCollectionsDiskSpaceOperationCompleted);
            }
            this.InvokeAsync("CalculateSiteCollectionsDiskSpace", new object[] {
                        urls}, this.CalculateSiteCollectionsDiskSpaceOperationCompleted, userState);
        }

        private void OnCalculateSiteCollectionsDiskSpaceOperationCompleted(object arg)
        {
            if ((this.CalculateSiteCollectionsDiskSpaceCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CalculateSiteCollectionsDiskSpaceCompleted(this, new CalculateSiteCollectionsDiskSpaceCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/DeleteSiteCollection", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeleteSiteCollection(SharePointSiteCollection siteCollection)
        {
            this.Invoke("DeleteSiteCollection", new object[] {
                        siteCollection});
        }

        /// <remarks/>
        public System.IAsyncResult BeginDeleteSiteCollection(SharePointSiteCollection siteCollection, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("DeleteSiteCollection", new object[] {
                        siteCollection}, callback, asyncState);
        }

        /// <remarks/>
        public void EndDeleteSiteCollection(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void DeleteSiteCollectionAsync(SharePointSiteCollection siteCollection)
        {
            this.DeleteSiteCollectionAsync(siteCollection, null);
        }

        /// <remarks/>
        public void DeleteSiteCollectionAsync(SharePointSiteCollection siteCollection, object userState)
        {
            if ((this.DeleteSiteCollectionOperationCompleted == null))
            {
                this.DeleteSiteCollectionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteSiteCollectionOperationCompleted);
            }
            this.InvokeAsync("DeleteSiteCollection", new object[] {
                        siteCollection}, this.DeleteSiteCollectionOperationCompleted, userState);
        }

        private void OnDeleteSiteCollectionOperationCompleted(object arg)
        {
            if ((this.DeleteSiteCollectionCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteSiteCollectionCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/BackupSiteCollection", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string BackupSiteCollection(string url, string filename, bool zip)
        {
            object[] results = this.Invoke("BackupSiteCollection", new object[] {
                        url,
                        filename,
                        zip});
            return ((string)(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginBackupSiteCollection(string url, string filename, bool zip, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("BackupSiteCollection", new object[] {
                        url,
                        filename,
                        zip}, callback, asyncState);
        }

        /// <remarks/>
        public string EndBackupSiteCollection(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }

        /// <remarks/>
        public void BackupSiteCollectionAsync(string url, string filename, bool zip)
        {
            this.BackupSiteCollectionAsync(url, filename, zip, null);
        }

        /// <remarks/>
        public void BackupSiteCollectionAsync(string url, string filename, bool zip, object userState)
        {
            if ((this.BackupSiteCollectionOperationCompleted == null))
            {
                this.BackupSiteCollectionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnBackupSiteCollectionOperationCompleted);
            }
            this.InvokeAsync("BackupSiteCollection", new object[] {
                        url,
                        filename,
                        zip}, this.BackupSiteCollectionOperationCompleted, userState);
        }

        private void OnBackupSiteCollectionOperationCompleted(object arg)
        {
            if ((this.BackupSiteCollectionCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.BackupSiteCollectionCompleted(this, new BackupSiteCollectionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/RestoreSiteCollection", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void RestoreSiteCollection(SharePointSiteCollection siteCollection, string filename)
        {
            this.Invoke("RestoreSiteCollection", new object[] {
                        siteCollection,
                        filename});
        }

        /// <remarks/>
        public System.IAsyncResult BeginRestoreSiteCollection(SharePointSiteCollection siteCollection, string filename, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("RestoreSiteCollection", new object[] {
                        siteCollection,
                        filename}, callback, asyncState);
        }

        /// <remarks/>
        public void EndRestoreSiteCollection(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void RestoreSiteCollectionAsync(SharePointSiteCollection siteCollection, string filename)
        {
            this.RestoreSiteCollectionAsync(siteCollection, filename, null);
        }

        /// <remarks/>
        public void RestoreSiteCollectionAsync(SharePointSiteCollection siteCollection, string filename, object userState)
        {
            if ((this.RestoreSiteCollectionOperationCompleted == null))
            {
                this.RestoreSiteCollectionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRestoreSiteCollectionOperationCompleted);
            }
            this.InvokeAsync("RestoreSiteCollection", new object[] {
                        siteCollection,
                        filename}, this.RestoreSiteCollectionOperationCompleted, userState);
        }

        private void OnRestoreSiteCollectionOperationCompleted(object arg)
        {
            if ((this.RestoreSiteCollectionCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.RestoreSiteCollectionCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetTempFileBinaryChunk", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute(DataType = "base64Binary")]
        public byte[] GetTempFileBinaryChunk(string path, int offset, int length)
        {
            object[] results = this.Invoke("GetTempFileBinaryChunk", new object[] {
                        path,
                        offset,
                        length});
            return ((byte[])(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginGetTempFileBinaryChunk(string path, int offset, int length, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("GetTempFileBinaryChunk", new object[] {
                        path,
                        offset,
                        length}, callback, asyncState);
        }

        /// <remarks/>
        public byte[] EndGetTempFileBinaryChunk(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((byte[])(results[0]));
        }

        /// <remarks/>
        public void GetTempFileBinaryChunkAsync(string path, int offset, int length)
        {
            this.GetTempFileBinaryChunkAsync(path, offset, length, null);
        }

        /// <remarks/>
        public void GetTempFileBinaryChunkAsync(string path, int offset, int length, object userState)
        {
            if ((this.GetTempFileBinaryChunkOperationCompleted == null))
            {
                this.GetTempFileBinaryChunkOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetTempFileBinaryChunkOperationCompleted);
            }
            this.InvokeAsync("GetTempFileBinaryChunk", new object[] {
                        path,
                        offset,
                        length}, this.GetTempFileBinaryChunkOperationCompleted, userState);
        }

        private void OnGetTempFileBinaryChunkOperationCompleted(object arg)
        {
            if ((this.GetTempFileBinaryChunkCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetTempFileBinaryChunkCompleted(this, new GetTempFileBinaryChunkCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/AppendTempFileBinaryChunk", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string AppendTempFileBinaryChunk(string fileName, string path, [System.Xml.Serialization.XmlElementAttribute(DataType = "base64Binary")] byte[] chunk)
        {
            object[] results = this.Invoke("AppendTempFileBinaryChunk", new object[] {
                        fileName,
                        path,
                        chunk});
            return ((string)(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginAppendTempFileBinaryChunk(string fileName, string path, byte[] chunk, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("AppendTempFileBinaryChunk", new object[] {
                        fileName,
                        path,
                        chunk}, callback, asyncState);
        }

        /// <remarks/>
        public string EndAppendTempFileBinaryChunk(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }

        /// <remarks/>
        public void AppendTempFileBinaryChunkAsync(string fileName, string path, byte[] chunk)
        {
            this.AppendTempFileBinaryChunkAsync(fileName, path, chunk, null);
        }

        /// <remarks/>
        public void AppendTempFileBinaryChunkAsync(string fileName, string path, byte[] chunk, object userState)
        {
            if ((this.AppendTempFileBinaryChunkOperationCompleted == null))
            {
                this.AppendTempFileBinaryChunkOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAppendTempFileBinaryChunkOperationCompleted);
            }
            this.InvokeAsync("AppendTempFileBinaryChunk", new object[] {
                        fileName,
                        path,
                        chunk}, this.AppendTempFileBinaryChunkOperationCompleted, userState);
        }

        private void OnAppendTempFileBinaryChunkOperationCompleted(object arg)
        {
            if ((this.AppendTempFileBinaryChunkCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.AppendTempFileBinaryChunkCompleted(this, new AppendTempFileBinaryChunkCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetSiteCollectionSize", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public long GetSiteCollectionSize(string url)
        {
            object[] results = this.Invoke("GetSiteCollectionSize", new object[] {
                        url});
            return ((long)(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginGetSiteCollectionSize(string url, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("GetSiteCollectionSize", new object[] {
                        url}, callback, asyncState);
        }

        /// <remarks/>
        public long EndGetSiteCollectionSize(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((long)(results[0]));
        }

        /// <remarks/>
        public void GetSiteCollectionSizeAsync(string url)
        {
            this.GetSiteCollectionSizeAsync(url, null);
        }

        /// <remarks/>
        public void GetSiteCollectionSizeAsync(string url, object userState)
        {
            if ((this.GetSiteCollectionSizeOperationCompleted == null))
            {
                this.GetSiteCollectionSizeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSiteCollectionSizeOperationCompleted);
            }
            this.InvokeAsync("GetSiteCollectionSize", new object[] {
                        url}, this.GetSiteCollectionSizeOperationCompleted, userState);
        }

        private void OnGetSiteCollectionSizeOperationCompleted(object arg)
        {
            if ((this.GetSiteCollectionSizeCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetSiteCollectionSizeCompleted(this, new GetSiteCollectionSizeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/SetPeoplePickerOu", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetPeoplePickerOu(string site, string ou)
        {
            this.Invoke("SetPeoplePickerOu", new object[] {
                        site,
                        ou});
        }

        /// <remarks/>
        public System.IAsyncResult BeginSetPeoplePickerOu(string site, string ou, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("SetPeoplePickerOu", new object[] {
                        site,
                        ou}, callback, asyncState);
        }

        /// <remarks/>
        public void EndSetPeoplePickerOu(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void SetPeoplePickerOuAsync(string site, string ou)
        {
            this.SetPeoplePickerOuAsync(site, ou, null);
        }

        /// <remarks/>
        public void SetPeoplePickerOuAsync(string site, string ou, object userState)
        {
            if ((this.SetPeoplePickerOuOperationCompleted == null))
            {
                this.SetPeoplePickerOuOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPeoplePickerOuOperationCompleted);
            }
            this.InvokeAsync("SetPeoplePickerOu", new object[] {
                        site,
                        ou}, this.SetPeoplePickerOuOperationCompleted, userState);
        }

        private void OnSetPeoplePickerOuOperationCompleted(object arg)
        {
            if ((this.SetPeoplePickerOuCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetPeoplePickerOuCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        public new void CancelAsync(object userState)
        {
            base.CancelAsync(userState);
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetSupportedLanguagesCompletedEventHandler(object sender, GetSupportedLanguagesCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetSupportedLanguagesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal GetSupportedLanguagesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int[])(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetSiteCollectionsCompletedEventHandler(object sender, GetSiteCollectionsCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetSiteCollectionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal GetSiteCollectionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public SharePointSiteCollection[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((SharePointSiteCollection[])(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetSiteCollectionCompletedEventHandler(object sender, GetSiteCollectionCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetSiteCollectionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal GetSiteCollectionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public SharePointSiteCollection Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((SharePointSiteCollection)(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void CreateSiteCollectionCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void UpdateQuotasCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void CalculateSiteCollectionsDiskSpaceCompletedEventHandler(object sender, CalculateSiteCollectionsDiskSpaceCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CalculateSiteCollectionsDiskSpaceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal CalculateSiteCollectionsDiskSpaceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public SharePointSiteDiskSpace[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((SharePointSiteDiskSpace[])(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void DeleteSiteCollectionCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void BackupSiteCollectionCompletedEventHandler(object sender, BackupSiteCollectionCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class BackupSiteCollectionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal BackupSiteCollectionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public string Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void RestoreSiteCollectionCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetTempFileBinaryChunkCompletedEventHandler(object sender, GetTempFileBinaryChunkCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetTempFileBinaryChunkCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal GetTempFileBinaryChunkCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public byte[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((byte[])(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void AppendTempFileBinaryChunkCompletedEventHandler(object sender, AppendTempFileBinaryChunkCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class AppendTempFileBinaryChunkCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal AppendTempFileBinaryChunkCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public string Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetSiteCollectionSizeCompletedEventHandler(object sender, GetSiteCollectionSizeCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetSiteCollectionSizeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal GetSiteCollectionSizeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public long Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((long)(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void SetPeoplePickerOuCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
}
